<?php
/**
* @package YARBB
* @copyright Авторские права (C) 2009 www.yar-it.com. Все права защищены.
* @license Лицензия http://www.gnu.org/licenses/gpl-2.0.htm GNU/GPL, или help/license.php
* YARBB! - свободное программное обеспечение распространяемое по условиям лицензии GNU/GPL
* Для получения информации о используемых расширениях и замечаний об авторском праве, смотрите файл copyright.php.
*/

defined( '_JEXEC' ) or die( 'Restricted Access' );
jimport( 'joomla.application.component.model' );

class yarbbModelEditCat extends JModel
{
    var $_data;
    var $_id;

    function yarbbModelEditCat()
	{
		parent::__construct();
	}

    function setId($id)
    {
        $this->_id = $id;
        $this->_data = null;
    }

    function getData()
    {
        if (empty($this->_data)) {
            $query = 'SELECT a.*
                      FROM #__yarbb_category AS a
                      WHERE a.id = '.(int)$this->_id
            ;
            $this->_db->setQuery($query);
            $this->_data = ($this->_data = $this->_db->loadObject())?$this->_data:array();
        }

        return $this->_data;
    }

    function getOrderQuery()
    {
        return 'SELECT a.id AS value, a.cat_name AS text
                FROM #__yarbb_category AS a
                ORDER BY a.ordering';
    }



    function store($data)
    {
        $row = $this->getTable('ybbcategory', 'yarbbTable');
		$filter = new JFilterInput(array(), array(), 1, 1);
		$data['id'] 		= $filter->clean( $data['id'],'integer');
		$data['cat_name'] 	= $filter->clean( $data['cat_name'],'string');

		if (!$row->bind($data)) {
            $this->setError($row->getError());
            return false;
        }

		if( $row->ordering < 1)  $row->ordering = $row->getNextOrder();

        if (!$row->check()) {
            $this->setError($row->getError());
            return false;
        }

        if (!$row->store(true)) {
            $this->setError($row->getError());
            return false;
        }

        return true;
    }

}
?>
